package model;

public abstract class State {
	protected Ghost fantasma;
	protected int segundosTranscurridos; 
	protected Strategy estrategia;
	
	protected State(Ghost fantasma, Strategy estrategia){
		this.segundosTranscurridos = 0;
		this.fantasma = fantasma;
		this.estrategia = estrategia;
	}
	abstract public void iniciaPowerPellet();
	abstract public void esComidoPor(Movable movible);
	abstract public void pasaronSegundos(int segundos);
	abstract public void move(Direccion direccion);
	public Ghost getFantasma(){return this.fantasma;}
	public void move(){
		estrategia.move(this);
	}

}
